﻿///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2023, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ИмяПланаОбмена = Параметры.ИмяПланаОбмена;
	УзелИнформационнойБазы = ПланыОбмена[ИмяПланаОбмена].ЭтотУзел();
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура УстановитьНовыйКод(Команда)
	
	Если УстановитьНовыйКодСервере() Тогда
		Закрыть();	
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Функция УстановитьНовыйКодСервере()
	
	НачатьТранзакцию();
	Попытка
		
		БлокировкаДанных = Новый БлокировкаДанных;
		
		ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("ПланОбмена." + ИмяПланаОбмена);
		ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", УзелИнформационнойБазы);
				
		БлокировкаДанных.Заблокировать();

		УзелОбменаОбъект = УзелИнформационнойБазы.ПолучитьОбъект();
		УзелОбменаОбъект.Код = Строка(Новый УникальныйИдентификатор);
		УзелОбменаОбъект.ОбменДанными.Загрузка = Истина;
		УзелОбменаОбъект.Записать();
						
		ЗафиксироватьТранзакцию();
		
		Возврат Истина;
		
	Исключение
				
		ОтменитьТранзакцию();
		ВызватьИсключение;
		
	КонецПопытки;
	
	Возврат Ложь;
	
КонецФункции

#КонецОбласти
